package co.yixiang.yshop.module.product.service.producttag;

import co.yixiang.yshop.framework.common.pojo.PageResult;
import co.yixiang.yshop.module.product.controller.admin.producttag.param.*;
import co.yixiang.yshop.module.product.controller.admin.producttag.vo.ProductTagViewRespVO;
import co.yixiang.yshop.module.product.dal.dataobject.producttag.ProductTagDO;
import co.yixiang.yshop.module.product.dal.dataobject.producttag.ProductTagGroupDO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

public interface ProductTagService extends IService<ProductTagDO> {
    /**
     * 创建标签
     * @return
     */
    int createTag(ProductTagCreateReqParam vo);

    /**
     * 更新标签
     * @param vo
     * @return
     */
    Boolean updateTag(ProductTagUpdateReqParam vo);

    /**
     * 删除标签
     * @param id
     * @return
     */
    Boolean deleteTag(Long id);

    /**
     * 标签列表
     * @return
     */
    PageResult<ProductTagViewRespVO> tagPage(ProductTagSearchReqParam vo);

    /**
     * 查询标签
     * @param id
     * @return
     */
    ProductTagViewRespVO findTagById(Long id);
    /**
     * 创建标签组
     * @return
     */
    int createTagGroup(ProductTagGroupCreateParam vo);

    /**
     * 更新标签组
     * @param vo
     * @return
     */
    int updateTagGroup(ProductTagGroupUpdateParam vo);

    /**
     * 查询标签组
     * @param
     */
    List<ProductTagGroupDO> listTagGroup();

    /**
     * 删除标签组
     * @param id
     * @return
     */
    int deleteTagGroup(Long id);
}
